home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 12 - 1996 / 12.10 Oct 96 / AdownsJavaObjects / NewButtonFrame.java < prev    next >
Encoding:
Text File  |  1996-09-11  |  2.2 KB  |  108 lines  |  [TEXT/R*ch]

  1. /*
  2.  
  3. Listing 5: NewButtonFrame.java
  4.  
  5. NewButtonFrame.java
  6. Define and create our "New Button" dialog.
  7.  
  8. */
  9.  
  10. // Import the generic Java classes.
  11. import java.applet.*;
  12. import java.awt.*;
  13. import java.io.*;
  14. import java.lang.*;
  15.  
  16. //    Our class definition.
  17. public    class NewButtonFrame extends Frame
  18. {
  19.     Button                    bCancel, bOK;
  20.     Demo                        myDemo;
  21.     Label                        theTextLabel = new Label( "Enter button 
  22.                                             text: " );
  23.     MenuBar                    theButtonMenuBar;
  24.     NewButtonFrame        theNewButtonFrame;
  25.     Panel                        pButtonPalette;
  26.     Panel                        pTextPalette;
  27.     TextField                theTextField;
  28.  
  29.  
  30.     //    The constructor for our class.
  31.     public NewButtonFrame( Demo thisDemo )
  32.     {
  33.         //    Variables we need for initialization.
  34.         int                defaultX = 20, defaultY = 280;
  35.         int                defaultWidth = 300, defaultHeight = 80;
  36.  
  37.         myDemo = thisDemo;
  38.         theNewButtonFrame = this;
  39.  
  40.         theTextField = new TextField( 32 );
  41.         theTextField.setEditable( true );
  42.  
  43.         pTextPalette = new Panel();
  44.         pTextPalette.setLayout( new GridLayout( 1, 2 ) );
  45.         pTextPalette.add( theTextLabel );
  46.         pTextPalette.add( theTextField );
  47.  
  48.         pButtonPalette = new Panel();
  49.         pButtonPalette.setLayout( new GridLayout( 1, 5 ) );
  50.  
  51.         bCancel = new Button();
  52.         bOK = new Button();
  53.  
  54.         bCancel.setLabel( "Cancel" );
  55.         bOK.setLabel( "OK" );
  56.  
  57.         pButtonPalette.add( new Label() );
  58.         pButtonPalette.add( bCancel );
  59.         pButtonPalette.add( new Label() );
  60.         pButtonPalette.add( bOK );
  61.         pButtonPalette.add( new Label() );
  62.  
  63.         setBackground( Color.lightGray );
  64.         setMenuBar( theButtonMenuBar );
  65.         setResizable( false );
  66.         setTitle( "Add Button..." );
  67.         reshape( defaultX, defaultY, defaultWidth, 
  68.                 defaultHeight );
  69.         add( "South", pButtonPalette );
  70.         add( "North", pTextPalette );
  71.  
  72.         hide();
  73.     }
  74.     
  75.     //    Override the action() method of our parent class.
  76.     public boolean action( Event evt, Object arg )
  77.     {
  78.         boolean        eventHandled = false;
  79.         Object        theTarget;
  80.         String        theString = new String();
  81.  
  82.         theTarget = ( Button )evt.target;
  83.  
  84.         if ( theTarget == bCancel )
  85.             theNewButtonFrame.hide();
  86.  
  87.         if ( theTarget == bOK )
  88.         {
  89.             theString = theTextField.getText();
  90.             eventHandled = myDemo.doAddButton( theString );
  91.             theNewButtonFrame.hide();
  92.         }
  93.  
  94.         if ( eventHandled )
  95.             return true;
  96.         else
  97.             return false;
  98.     }
  99.  
  100.     public boolean doSetupDefaults()
  101.     {
  102.         theTextField.setText( "" );
  103.  
  104.         return true;
  105.     }
  106.  
  107. }
  108.